package com.neouton.crm.refundRecords.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.neouton.common.entity.BaseEntityVO;

import com.neouton.crm.sales.entity.SalesFileRelationVO;
import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;


/**
 * 退款记录
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class RefundRecordsVO extends BaseEntityVO implements Serializable {
    /**
     * 主键自增
     */
    private Integer id;
    /**
     * 退款类型id
     */
    private Integer refundType;
    /**
     * 退款类型名称
     */
    private String refundTypeName;
    /**
     * 退款名称
     */
    private String refundTopic;
    /**
     * 采购单ID
     */
    private Integer purchaseId;
    /**
     * 采购单名称
     */
    private String purchaseTopic;
    /**
     * 付款记录ID
     */
    private Integer payRecordsId;
    /**
     * 付款名称
     */
    private String planPeriod;
    /**
     * 退款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date refundDate;

    private String refundDateStr;
    /**
     * 退款金额
     */
    private String refundMoney;

    private String refundMoneyPage;
    /**
     * 冲销金额
     */
    private String flushMoney;
    /**
     * 退款方式
     */
    private Integer refundMethod;
    /**
     * 退款方式
     */
    private String refundMethodName;
    /**
     * 是否收票
     */
    private Integer isInvoice;
    /**
     * 是否收票
     */
    private String isInvoiceName;
    /**
     * 项目ID
     */
    private Integer projectManageId;

    /**
     * 机会ID
     */
    private Integer opportunityId;

    /**
     * 备注
     */
    private String refundRemark;
    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 负责人
     */
    private Integer management;
    /**
     * 负责人名称
     */
    private String managementName;
    /**
     * 负责人域名
     */
    private String managementAccount;

    /**
     * 日期集合
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private List<Date> refundDateList;
    /**
     * 创建日期集合
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private List<Date> creatorDateList;

    /**
     * 退款金额
     */
    private List<Integer> refundMoneyList;
    /**
     * 冲销金额
     */
    private List<Integer> flushMoneyList;

    private List<SalesFileRelationVO> salesFileRelations;
    /**
     * 创建者名称
     */
    private String creatorName;
    /**
     * 创建者域名
     */
    private String creatorAccount;
    /**
     * 创建时间
     */
    private String createDataTimeStr;
    /**
     * 是否删除 0、是 1、否
     */
    private Integer isDelete;
    /**
     * 拼接合同及付款期次
     */
    private String topicAndPeriod;

    private String payRecordName;

    private Integer supplierId;
    /**
     * 申请原因
     */
    private String reason;

    private Integer approvalId;

    /**
     * 转发人员集合
     */
    private List<Integer> transpondUseIdList;

    private String transpondUseListStr;
    /**
     * 审批意见
     */
    private String auditOpinion;
    /**
     * 审批状态
     */
    private Integer approvalStatus;

    private String paramType;

    private List<Integer> approvalIdList;

    /**
     * 申请人
     */
    private Integer applicant;
    /**
     * 申请时间
     */
    private Timestamp applyTime;
    /**
     * 下一处理人
     */
    private Integer nextApprover;
    /**
     * 编号
     */
    private String approvalCode;

    private String approvalStatusStr;
    /**
     * 款项用途
     */
    private String moneyUse;
}